#pragma once
#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include "YLFW/Shader.h"
#include "YLFW/VertexObject.h"
#include <YLFW/YLFWTexture.h>

class YLFWWindow {
private:
	GLFWwindow* window;
public:
	YLFWWindow(GLFWwindow* window);
	bool IsClose();
	void Close();
	bool GetKey(int key);
	void SwapBuffers();
	void DrawTriangles(Shader &shader,VertexObject &vObj,YLFWTexture& texture);
	void DrawTriangles(Shader & shader, VertexObject &vObj, YLFWTexture& texture0, YLFWTexture& texture1);
	void PullEvent();
	void Clear();

	static YLFWWindow* CreateWindow(int width, int height, const char* title);
	static void Terminate();
};